﻿<?xml version='1.0'?>
<scpd xmlns="urn:schemas-upnp-org:service-1-0">
 <specVersion>
      <major>1</major>
      <minor>0</minor>
    </specVersion>
 <actionList>
      <action>
        <name>Exchange</name>
        <argumentList>
          <argument>
            <name>HostID</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable>
         </argument>
          <argument>
            <name>HostCertificate</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_Certificate</relatedStateVariable>
         </argument>
          <argument>
            <name>IterationsRequired</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_Rounds</relatedStateVariable>
         </argument>
          <argument>
            <name>HostConfirmAuthenticator</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_Authenticator</relatedStateVariable>
         </argument>
          <argument>
            <name>DeviceID</name>
            <direction>out</direction>
            <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable>
         </argument>
          <argument>
            <name>DeviceCertificate</name>
            <direction>out</direction>
            <relatedStateVariable>A_ARG_TYPE_Certificate</relatedStateVariable>
         </argument>
          <argument>
            <name>DeviceConfirmAuthenticator</name>
            <direction>out</direction>
            <relatedStateVariable>A_ARG_TYPE_Authenticator</relatedStateVariable>
         </argument>
        </argumentList>
      </action>
      <action>
        <name>Commit</name>
        <argumentList>
          <argument>
            <name>HostID</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable>
         </argument>
          <argument>
            <name>Iteration</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_Iteration</relatedStateVariable>
         </argument>
          <argument>
            <name>HostValidateAuthenticator</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_Authenticator</relatedStateVariable>
         </argument>
          <argument>
            <name>DeviceValidateAuthenticator</name>
            <direction>out</direction>
            <relatedStateVariable>A_ARG_TYPE_Authenticator</relatedStateVariable>
         </argument>
        </argumentList>
      </action>
      <action>
        <name>Validate</name>
        <argumentList>
          <argument>
            <name>HostID</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable>
         </argument>
          <argument>
            <name>Iteration</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_Iteration</relatedStateVariable>
         </argument>
          <argument>
            <name>HostValidateNonce</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_Nonce</relatedStateVariable>
         </argument>
          <argument>
            <name>DeviceValidateNonce</name>
            <direction>out</direction>
            <relatedStateVariable>A_ARG_TYPE_Nonce</relatedStateVariable>
         </argument>
        </argumentList>
      </action>
      <action>
        <name>Confirm</name>
        <argumentList>
          <argument>
            <name>HostID</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_EndpointID</relatedStateVariable>
         </argument>
          <argument>
            <name>IterationsRequired</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_Rounds</relatedStateVariable>
         </argument>
          <argument>
            <name>HostConfirmNonce</name>
            <direction>in</direction>
            <relatedStateVariable>A_ARG_TYPE_Nonce</relatedStateVariable>
         </argument>
          <argument>
            <name>DeviceConfirmNonce</name>
            <direction>out</direction>
            <relatedStateVariable>A_ARG_TYPE_Nonce</relatedStateVariable>
         </argument>
        </argumentList>
      </action>
    </actionList>
 <serviceStateTable>
      <stateVariable sendEvents='no'>
        <name>TrustState</name>
        <dataType>ui1</dataType>
        <allowedValueRange>
          <minimum>0</minimum>
          <maximum>4</maximum>
        </allowedValueRange>
      </stateVariable>
      <stateVariable sendEvents='no'>
        <name>A_ARG_TYPE_Rounds</name>
        <dataType>ui1</dataType>
        <allowedValueRange>
          <minimum>2</minimum>
          <maximum>20</maximum>
        </allowedValueRange>
      </stateVariable>
      <stateVariable sendEvents='no'>
        <name>A_ARG_TYPE_Iteration</name>
        <dataType>ui1</dataType>
        <allowedValueRange>
          <minimum>1</minimum>
          <maximum>20</maximum>
        </allowedValueRange>
      </stateVariable>
      <stateVariable sendEvents='no'>
        <name>A_ARG_TYPE_EndpointID</name>
        <dataType>string</dataType>
      </stateVariable>
      <stateVariable sendEvents='no'>
        <name>A_ARG_TYPE_Authenticator</name>
        <dataType>string</dataType>
      </stateVariable>
      <stateVariable sendEvents='no'>
        <name>A_ARG_TYPE_Nonce</name>
        <dataType>string</dataType>
      </stateVariable>
      <stateVariable sendEvents='no'>
        <name>A_ARG_TYPE_Certificate</name>
        <dataType>string</dataType>
      </stateVariable>
    </serviceStateTable>
</scpd>
